The present invention relates generally to the field of integrated circuits. More particularly, the invention relates to circuits that will synchronize the internal timing or clock signals within an integrated circuit such as a synchronous dynamic random access memory (SDRAM) to external timing or clock signals.
Most digital logic implemented on integrated circuits is clocked synchronous sequential logic. In electronic devices such as synchronous dynamic random access memory circuits (SDRAMs), microprocessors, digital signal processors, and so forth, the processing, storage, and retrieval of information is coordinated with a clock signal. The speed and stability of the clock signal determines to a large extent the data rate at which a circuit can function. Many high-speed integrated circuit devices, such as SDRAMs, microprocessors, etc., rely upon clock signals to control the flow of commands, data, addresses, etc., into, through and out of the devices.
A continual demand exists for devices with higher data rates; consequently, circuit designers have begun to focus on ways to increase the frequency of the clock signal. In SDRAMs, it is desirable to have the data output from the memory synchronized with the system clock that also serves the microprocessor. The delay between a rising edge of the system clock (external to the SDRAM) and the appearance of valid data at the output of the memory circuit is known as the clock access time of the memory. A goal of memory circuit designers is to minimize clock access time as well as to increase clock frequency.
One of the obstacles to reducing clock access time has been clock skew, that is, the delay time between the externally supplied system clock signal and the signal that is routed to the memory's output circuitry. An external system clock is generally received with an input buffer and then further shaped and redriven to the internal circuitry by an internal buffer. The time delay of the input buffer and the internal buffer will skew the internal clock from the external clock. This clock skew will cause signals that are to be transferred from the integrated circuit to be out of synchronization with the external system clock. This skew in the clock signal internal to the integrated circuit is furthered by the delays incurred in the signal passing through the clock input buffer and driver and through any associated resistive-capacitive circuit elements. One solution to the problem of clock skew is the use of a synchronous mirror delay, and another is the use of delay-locked loops.
Delay-locked loops (DLL) are feedback circuits used for synchronizing an external clock and an internal clock with each other. Typically, a DLL operates to feed back a phase difference-related signal to control a delay line, until the timing of one clock signal is advanced or delayed until its rising edge is coincident with the rising edge of a second clock signal.
A synchronous mirror delay circuit (SMD) is a circuit for synchronizing an external clock and an internal clock with each other. The SMD can acquire lock generally within two clock cycles. The SMD has a period of delay, known as a delay range. The delay range of the SMD determines the actual operating range, or clock frequency, within which the integrated circuits (ICs) can operate. In other words, it is desired to reduce the number of delay stages required in the SMD while maintaining the lock delay range. One goal is to improve the efficiency of the SMD to maintain the proper operating range and to reduce the required area and power consumption of the SMD.
For the conventional SMD implementations, two delay lines are required, one for delay measurement, one for variable mirrored delay. The effective delay length for both delay lines is defined as:tdelay=tck−tmdl 
where tck is the clock period, tmdl is the delay of I/O model, including clock input buffer, receiver, clock tree and driver logic. The delay stages required for each delay line is given by:
  N  =                    t        delay                    t        d              =                            t          ck                -                  t          mdl                            t        d            
where td is the delay per stage. The worst case number is given by:
      N    worst    =                              t          ck                ⁡                  (          long          )                    -                        t          mdl                ⁡                  (          fast          )                                    t        d            ⁡              (        fast        )            
For example, where tck (long)=5 ns (as in a 200 MHz bus), tmdl (fast)=1 ns and td (fast)=110 ps,
      N    worst    =                              5          ⁢                                          ⁢          ns                -                  1          ⁢                                          ⁢          ns                            110        ⁢                                  ⁢        ps              ≈    36  
For two delay lines in an SMD, a total of 72 stages are needed to adjust the delay.
When locking, tlock=din+tmdl+(tck−tmdl) (measured)+(tck−tmdl) (variable)+dout. This is the conventional equation to calculate the lock time of the SMD), which is generally two clock cycles, based on sampling from one rising edge to the next rising edge of the internal clock signal. It is desirable to reduce the effective delay stages employed in the SMD while maintaining the lock range.
When creating and propagating high-frequency clock signals, a number of problems can arise. To begin with, it can be difficult to propagate or distribute a high-frequency clock signal across a large die with little or modest amounts of attenuation. Further, it is difficult to achieve the application/propagation of a high-frequency clock signal without the use of relatively large amounts of power. As older, relatively high voltage power supplies such as 2.5 V power supplies are replaced with newer, lower voltage power supplies (e.g., 1.5 V or even approaching 1 V power supplies), the propagation of clock signals becomes progressively more difficult, since the lower voltage of the power supplies results in smaller swings in voltage, which in turn results in less current and less drive for those clock signals. Third, the use of a high-frequency clock signal can introduce undesirably high amounts of duty cycle distortion into the circuitry utilizing that clock signal, something which can change the outcome of (or render uncertain) the operation of that circuitry insofar as both the rising and falling edge information of a clock signal is used or useful in many circumstances.
Therefore, it would be advantageous if improved circuits for generating/providing synchronized clock signals could be developed. It would be particularly advantageous if such signals could be provided and propagated without excessive amounts of attenuation and without a need for large amounts of power. Additionally, it would be advantageous if such clock signals could be provided without the introduction of undesirably high amounts of duty cycle distortion.